// 路由有几种模式
// 两种：hash  
// hash指的是地址中#号以及后面的字符，也称为散列值。hash也称作锚点，本身是用来做页面跳转定位的。如http://localhost/index.html#abc，这里的#abc就是hash；
// 散列值是不会随请求发送到服务器端的，所以改变hash，不会重新加载页面；
// 监听 window 的 hashchange 事件，当散列值改变时，可以通过 location.hash 来获取和设置hash值；
// location.hash值的变化会直接反应到浏览器地址栏；
  //  history
//   window.history 属性指向 History 对象，它表示当前窗口的浏览历史。当发生改变时，只会改变页面的路径，不会刷新页面。
// History 对象保存了当前窗口访问过的所有页面网址。通过 history.length 可以得出当前窗口一共访问过几个网址。
// 由于安全原因，浏览器不允许脚本读取这些地址，但是允许在地址之间导航。
// 浏览器工具栏的“前进”和“后退”按钮，其实就是对 History 对象进行操作。
// History.back()、History.forward()、History.go() History.pushState() History.replaceState()



// 区别 hash模式是不会向后端发送请求的 刷新的时候会加载对应的页面 history是会向后端发送请求的  刷新的时候会报404

//1. 带#号
// 2.回车刷新 hash加载对应页面  history 刷新  404
// 3.hash支持低版本 history ie>10
// 4.hash不会重新加载页面
// 5.history会有历史记录  History.back()、History.forward()、History.go() History.pushState() History.replaceState()